package Testdmol2;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:周次煜
 * Testdmo1.Date: 2024-02-22
 * Time：21:45
 */
public class J2_22_test {
    public static void main1(String[] args) {
        System.out.println(1+0.2);
        // +的左侧是int，右侧是double，在加之前int被提升为double
        // 故：输出1.2
    }


    public static void main2(String[] args) {
        int a = 1;

        a += 2; // 相当于 a = a + 2
        System.out.println(a); // 输出3

        a -= 1; // 相当于 a = a - 1
        System.out.println(a); // 输出2

        a *= 3; // 相当于 a = a * 3
        System.out.println(a); // 输出6

        a /= 3; // 相当于 a = a / 3
        System.out.println(a); // 输出2

        a %= 3; // 相当于 a = a % 3
        System.out.println(a); // 输出2


    }


    public static void main3(String[] args) {
        byte a=10,b=20;
        a+=b;
        System.out.println(a);

    }


    public static void main4(String[] args) {
        int a = 1;
        a++; // 后置++ 表示给a的值加1，此时a的值为2

        System.out.println(a++); // 注意：后置++是先使用变量原来值，表示式结束时给变量+1，因此输出2
        System.out.println(a); // 输出3

        ++a; // 前置++ 表示给a的值加1
        System.out.println(++a); // 注意：前置++是先给变量+1，然后使用变量中的值，因此输出5
        System.out.println(a); // 输出5
        // --操作符给操作-1，与++含义类似
    }


    public static void main5(String[] args) {
        int a = 10;
        int b = 20;
        // 注意：在Java中 = 表示赋值，要与数学中的含义区分
        // 在Java中 == 表示相等
        System.out.println(a >= 10 && a<20); //  10 <= b < 20  true
        System.out.println(b<-1 || b>30); //    b<-1 或者 b>30  false

    }


    public static void main6(String[] args) {
        int a = 1;
        int b = 2;

        System.out.println(a == 1 && b == 2); // 左为真 且 右为真 则结果为真

        System.out.println(a == 1 && b > 100); // 左为真 但 右为假 则结果为假

        System.out.println(a > 100 && b == 2); // 左为假 但 右为真 则结果为假

        System.out.println(a > 100 && b > 100); // 左为假 且 右为假 则结果为假
    }


    public static void main7(String[] args) {
        int a = 1;
        int b = 2;
        System.out.println(a == 1 || b == 2); // 左为真 且 右为真 则结果为真
        System.out.println(a == 1 || b > 100); // 左为真 但 右为假 则结果也为真
        System.out.println(a > 100 || b == 2); // 左为假 但 右为真 则结果也为真
        System.out.println(a > 100 || b > 100); // 左为假 且 右为假 则结果为假
    }

    public static void main8(String[] args) {
        int a = 1;
        System.out.println(!(a == 1)); // a == 1 为true，取个非就是false
        System.out.println(!(a != 1)); // a != 1 为false，取个非就是true
    }

    public static void main9(String[] args) {
        System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false
        System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true
    }

    public static void main10(String[] args) {
        System.out.println(10 > 20 & 10 / 0 == 0); // 程序抛出异常
        System.out.println(10 < 20 | 10 / 0 == 0); // 程序抛出异常
    }


}
